Multi-stage arbitration (MSA) involves sifting through a large set of candidates in multiple stages, where each stage rejects some candidates, until a single candidate is left after the final stage. MSA-based receivers have been used in MIMO (Multiple-Input, Multiple-Output) environments where information is transmitted and received using a plurality of antennas. In a multi-stream scenario such as MIMO or multi-code transmission, MSA increases the number of streams processed jointly in consecutive stages. That is, in the first stage, each stream may be processed individually by a single detector (SD), pairs of streams may be processed together by a joint detector (JD) in the second stage, and so on. Doing so ensures complexity remains manageable, while mimicking the behavior of a true JD over all streams, which is MLD (Maximum-Likelihood Detection) in this scenario.
Consider an N×N MIMO scenario over a non-dispersive channel, given by:r=Hs+n  (1)Here r, s and n are N×1 vectors, and H is a N×N matrix. The components of H are independent and Rayleigh faded, and by default, n is white Gaussian noise with covariance Rn=σ2I. More generally, n may have any covariance, which can be estimated by conventional methods. All N signals are from the same constellation Q of size q, and all N signals are transmitted with the same power. The effective constellation for s is of size qN. The full JD is the MLD for s, which searches over all qN candidates ŝ for one that minimizes the squared distance given by:(r−Hŝ)H(r−Hŝ)  (2)The JD can be modified by letting the set A contain the NA out of N streams being processed jointly, and the set B contain the remaining NB=N−NA streams acting as interference. The signals in set B are modeled as colored noise, and suppressed by a whitening pre-filter. This type of receiver is referred to herein as a whitening JD (WJD).
Without loss of generality, it can be assumed that A occupies the top of s, and B occupies the bottom of s. Other cases follow similarly. The transmitted signals s, channel H and received signals r can then be respectively expressed as:
                    s        =                  [                                                                      s                  A                                                                                                      s                  B                                                              ]                                    (        3        )                                H        =                  [                                    H              A                        ,                          H              B                                ]                                    (        4        )                        and                                                      r        =                                                            H                A                            ⁢                              s                A                                      +                                          H                B                            ⁢                              s                B                                      +            n                    =                                                    H                A                            ⁢                              s                A                                      +            u                                              (        5        )            where HA is a N×NA matrix, HB is a N×NB matrix, sA is a NA×1 vector, sB is a NB×1 vector and u is a N×1 vector.
Vector u can be modeled as a colored noise and the transmitted symbols are presumed to have zero mean. This is the case for most well known constellations. Under these conditions, sB has zero mean, and consequently so does HBsB. In addition, HBsB has covariance given by:RB=HBHBHEB  (6)where EB is the average symbol energy in sB. Thus u has zero mean and covariance as given by:Ru=RB+Rn  (7)With the colored noise model, the JD for A searches over all qNA candidates ŝA for one that minimizes the following metric:(r−HAŝA)HRu−1(r−HAŝA)=rHRu−1r−2Re{ŝAHAHRu−1r}+ŝAHHAHRu−1HAŝA  (8)Equation (8) can be manipulated to identify a pre-filter, whose output feeds a detector. The N×NA matrix given by:W=Ru−1HA  (9)is the pre-filter. The output of the pre-filter is the NA×1 vector given by:zA=WHr  (10)The first term from equation (8) can be dropped since it does not depend on ŝA. The remaining two terms from equation (8) are identified as:m(ŝA)=−2Re{ŝAzA}+ŝAHHAHRu−1HAŝA  (11)which will be used as the metric of the JD with input zA. Thus the WJD consists of a pre-filter given by equation (9), and a JD with a metric given by equation (11).
This detector is optimal when u is a jointly Gaussian noise vector with zero mean and covariance Ru. The pre-filter collects the energy of the desired signal in A while suppressing the other signals in B as interference. The whitening SD (WSD) is a special case of the WJD with NA=1. The pre-filter for SD whitens the interference from the remaining NB=N−1 streams. The pre-filter vector W is a N×1 vector, and the output zA is a scalar. The detector compares q candidates ŝ1 for signal s1. The problem with JD is the corresponding exploding complexity, whether due to the size of the modulation itself, or to the exponential effect of multiple streams. The whitening JD helps to reduce the complexity by limiting the number of signals processed jointly. However, further complexity reduction is often desirable.